Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-23953 | GEN007960 | SV-28909r1_rule | ECSC-1 | Medium |
Description |
---|
The ldd command provides a list of dependent libraries needed by a given binary, which is useful for troubleshooting software. Instead of parsing the binary file, some ldd implementations invoke the program with a special environment variable set, which causes the system dynamic linker to display the list of libraries. Specially crafted binaries can specify an alternate dynamic linker which may cause a program to be executed instead of examined. If the program is from an untrusted source, such as in a user home directory, or a file suspected of involvement in a system compromise, unauthorized software may be executed with the rights of the user running ldd. Some ldd implementations include protections preventing the execution of untrusted files. If such protections exist, this requirement is not applicable. An acceptable method of disabling ldd is changing its mode to 0000. The SA may conduct troubleshooting by temporarily changing the mode to allow execution and running the ldd command as an unprivileged user upon trusted system binaries. |
STIG | Date |
---|---|
UNIX SRG | 2013-03-26 |
Check Text ( C-30816r1_chk ) |
---|
Consult vendor documentation concerning the ldd command. If the command provides protection from the execution of untrusted executables, this is not a finding. Determine the location of the system's ldd command. Procedure: # find / -name ldd If no file exists, this is not a finding. Check the permissions of the found ldd file. # ls -lL If the file mode of the file is more permissive than 0000, this is a finding. |
Fix Text (F-27397r1_fix) |
---|
Disable the ldd command by removing its permissions. Procedure: # chmod 0000 |